Concepts

The Workflow Controller - A Browser UI for Live Automation

The /controller endpoint served by GPALRestAPI opens a browser-based visual builder where you can compose, run, save, and reload automation step sequences interactively -- and even drive the browser remotely from another machine.

Tabs and Windows - Multi-Context Browser Automation

GPAL lets you open, close, and switch between browser tabs and windows inside a single workflow, enabling automation that spans multiple pages or needs to manage browser context across a session.

Downloading Files - Click to Save Without a Dialog

GPAL handles file downloads through three distinct paths -- dialog, silent, and direct -- each suited to different browser configurations and site behaviors. The right path is selected with a single setting before the click.

Files From a URL - Downloading Without a Click

A url is a valid filename. Hand one to GPAL.File and the file is fetched right there, before the chain continues, and everything downstream treats it as an ordinary file on disk. Give the chain a browser first and the fetch goes out through the session that browser already earned.

Iframes and Shadow DOM - Reaching Nested Elements

Content inside iframes and Shadow DOM components is invisible to standard selectors. GPAL provides context-switching methods that move the active search scope inside these nested boundaries so you can interact with what is actually there.

Stealth Techniques - Controlling What the Browser Reveals

GPAL gives you first-class control over the identity signals browsers expose to detection systems: user agent, referrer headers, driver binary markers, CDP visibility, and more -- each configurable independently.

Building Resilient GPAL Workflows

GPAL provides multiple overlapping layers of resilience so that workflows keep running as pages evolve. This page points out the tools worth knowing -- from multi-strategy selectors to semantic extraction to engine-level evasion.

Proving a Workflow on Every Engine

A workflow that works is a workflow that works on Selenium, Puppeteer, and OttoMagic, in a window and headless. The harness for that is a pair of nested loops and one call, EmitTable, which prints the result as a grid you can read at a glance.

OAuth via GPALRestAPI - Capturing Google Authorization Codes

GPAL handles the full OAuth authorization-code flow automatically. It opens the auth URL in a browser, listens for the redirect, and collects the code -- spinning up its own minimal listener if GPALRestAPI is not already running.

Why GPAL Uses Getters in the Fluent API

GPAL uses C# property getters in two deliberate places: factory entry points that start a chain, and single-action steps that take no parameters. Both choices exist for the same reason -- to make the intent of each call unmistakable at a glance.

💬 Ask GPAL